The present invention generally relates to optimizing pipeline execution scheduling and, more particularly, to optimizing pipeline execution scheduling based on commit activity trends, priority information, and attributes.
Software build and delivery pipeline solutions include automatically running or executing software pipeline jobs. For example, builds/pipeline jobs may be run on a fixed schedule, or may be run whenever a new commit (e.g., a set of changes to files, such as source code, stored in a repository) is pushed to a source control management (SCM) repository or application server. Running builds on a fixed schedule may not allow for flexibility and can cause unnecessary or even potentially harmful delays in pushing new changes through the pipeline. On the other hand, running a build and delivery pipeline for every commit as it is received may not be efficient during periods of high commit activity. For example, running a build and delivery pipeline for each commit as received may overwhelm a pipeline that has limited computing resources, or may not be cost effective for a customer who is charged for resources consumed by their pipeline executions.